/*
 * File:   surface.h
 * Author: gustavo
 *
 * Created on August 22, 2011, 6:16 AM
 */

#ifndef SURFACE_H
#define	SURFACE_H

#ifdef	__cplusplus
extern "C" {
#endif

	//#define IMP_SURFACE_USE_BTREE
	//#define IMP_SURFACE_USE_HASH_TABLE
	//#define IMP_SURFACE_USE_LIST

#include <util/list.h>
#include "../object/object.h"
#include "vertex.h"
#include "edge.h"
#include "triangle.h"



	//	ImpSurfaceClass * imp_surface_get_class(void);
	//	ImpSurface * imp_surface_new(void);
	//
	//
	//	ImpVertex * imp_surface_add_vertex(ImpSurface * s, ImpVertex * v);
	//	ImpEdge * imp_surface_add_edge(ImpSurface * s, ImpEdge * e);
	//	ImpTriangle * imp_surface_add_triangle(ImpSurface * s, ImpTriangle * t);
	//
	//	ImpVertex * imp_surface_remove_vertex(ImpSurface * s, ImpVertex * v);
	//	ImpEdge * imp_surface_remove_edge(ImpSurface * s, ImpEdge * e);
	//	ImpTriangle * imp_surface_remove_triangle(ImpSurface * s, ImpTriangle * t);
	//
	//
	//	void imp_surface_clear(ImpSurface * s);
	//	void imp_surface_remove_all_elements(ImpSurface * s);
	//	void imp_surface_remove_all_elements_full(ImpSurface * s);


#ifdef	__cplusplus
}
#endif

#endif	/* SURFACE_H */

